;; Eulisp Module ;; Author: pab ;; File: table.em ;; Date: Wed Jun 30 12:46:18 1993 ;; ;; Project: ;; Description: ;; (defmodule table (gens init extras0 macros0 defs ) () (export tablep table-ref setter-table-ref) (defpredicate tablep ) (defgeneric table-ref (table key) method (((x
) key) (sys-table-ref x key))) (defgeneric setter-table-ref (table key value) method (((x
) key value) ((setter sys-table-ref) x key value))) ((setter setter) table-ref setter-table-ref) (defmethod initial-state ((t
)) (table-keys t)) (defmethod next-state ((t
) (s )) ()) (defmethod next-state ((t
) (s )) (cdr s)) (defmethod final-state ((t
)) (table-keys t)) (defmethod previous-state ((t
) (s )) ()) (defmethod previous-state ((t
) (s )) (cdr s)) (defmethod current-element ((t
) (s )) (table-ref t (car s))) (defmethod current-key ((t
) (s )) (car s)) (defmethod key-sequence ((t
)) (table-keys t)) (defmethod element ((t
) k) (table-ref t k)) (defmethod (setter element) ((t
) k v) ((setter table-ref) t k v)) (defmethod size ((t
)) (table-population t)) (defmethod clone ((tab
)) (make
'hash-function (table-hash-function tab) 'comparator (table-comparator tab))) ;; end module )